package com.base.cn.platform.os.dao.course.material;

import com.base.cn.platform.os.common.mybatis.BaseDao;
import com.base.cn.platform.os.entity.course.material.CouMaterial;
import com.base.cn.platform.os.entity.course.material.CouMaterialCondition;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 素材Dao
 *
 * @author s.li
 * @create 2018-04-19-18:02
 */
@Mapper
public interface CouMaterialDao extends BaseDao<CouMaterial>{
    /**
     * 查询课程设置目录的素材
     * @param clazz 查询表对应的Class
     * @param condition 查询条件
     * @return  Page<CouMaterial>
     */
    Page<CouMaterial> findCourseCatalogMaterialList(@Param("clazz") Class<CouMaterial> clazz ,@Param("condition") CouMaterialCondition condition);

    /**
     * 查询模块设置的素材列表
     * @param clazz 查询表对应的Class
     * @param condition 查询条件
     * @return Page<CouMaterial>
     */
    Page<CouMaterial> findMouldMaterialList(@Param("clazz") Class<CouMaterial> clazz ,@Param("condition") CouMaterialCondition condition);

    /**
     * 查询今日直播待办事项
     * @param clazz 查询表对应的Class
     * @param param 查询条件
     * @return Page<CouMaterial>
     */
    List<CouMaterial> findBacklogLiveList(@Param("clazz") Class<CouMaterial> clazz , @Param("param") Map<String,String> param);

}
